Reactors: A Data-Oriented Synchronous/Asynchronous Programming Model for Distributed Applications

نویسندگان

  • John Field
  • Maria-Cristina V. Marinescu
  • Christian Stefansen
چکیده

Our aim is to define the kernel of a simple and uniform programming model—the reactor model—suitable for building and evolving internetscale programs. A reactor consists of two principal components: mutable state, in the form of a fixed collection of relations, and code, in the form of a fixed collection of rules in the style of datalog. A reactor’s code is executed in response to an external stimulus, which takes the form of an attempted update to the reactor’s state. As in classical process calculi, the reactor model accommodates collections of distributed, concurrently executing processes. However, unlike classical process calculi, our observable behaviors are sequences of states, rather than sequences of messages. Similarly, the interface to a reactor is simply its state, rather than a collection of message channels, ports, or methods. One novel feature of our model is the ability to compose behaviors both synchronously and asynchronously. Also, our use of datalog-style rules allows aspect-like composition of separately-specified functional concerns in a natural way .

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

OASiS: A Programming Framework for Service-Oriented Sensor Networks1

Wireless sensor networks consist of small, inexpensive devices which interact with the environment, communicate with each other, and perform distributed computations in order to monitor spatio-temporal phenomena. These devices are ideally suited for a variety of applications including object tracking, environmental monitoring, and homeland security. At present, sensor network technologies do no...

متن کامل

The Object-Oriented Components of the Enterprise Parallel Programming Environment

The Enterprise programming environment supports the development of applications that run concurrently on a network of workstations. This paper describes the object-oriented components of Enterprise, implemented in Smalltalk-80, and their seamless integration with the procedural components, implemented in C. The object-oriented user-interface supports a new anthropomorphic model for parallel com...

متن کامل

A Flexible Object-Group-Oriented Framework to support Large Scale Collaborative Applications

Recent results of distributed systems research, in multicasting and group oriented communication systems and protocols, are very attractive to implement multiparticipant and collaborative applications. In this paper, we examine the requirements and criteria placed by large scale cooperative applications, namely those alternating multiparticipant synchronous work sessions with asynchronous inter...

متن کامل

Asynchronous Large-Scale Graph Processing Made Easy

Scaling large iterative graph processing applications through parallel computing is a very important problem. Several graph processing frameworks have been proposed that insulate developers from low-level details of parallel programming. Most of these frameworks are based on the bulk synchronous parallel (BSP) model in order to simplify application development. However, in the BSP model, vertic...

متن کامل

SystemJ: A GALS language for system level design

In this paper we present the syntax, semantics, and compilation of a new system-level programming language called SystemJ. SystemJ is a multiclock language supporting the Globally Asynchronous Locally Synchronous (GALS) model of computation. The synchronous reactive (SR) model is used for synchronous parts of the modelled system, and those parts, which represent individual clock-domains, are co...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Theor. Comput. Sci.

دوره 410  شماره 

صفحات  -

تاریخ انتشار 2007